﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using DO.DreamOnTrader.Quote;

//namespace DO.DreamOnTrader.Indicator
//{
//    public class TechnicalIndicatorPool
//    {
//        Dictionary<string, TechnicalIndicator> Pool = new Dictionary<string, TechnicalIndicator>();

//        /// <summary>
//        /// 將傳入的指標加入pool中，如果己有同樣的指標則不加入
//        /// </summary>
//        /// <param name="tech"></param>
//        /// <returns></returns>
//        public TechnicalIndicator Add(TechnicalIndicator tech)
//        {
//            lock (Pool)
//            {
//                string key = tech.Index();
//                if (Pool.ContainsKey(key))
//                {
//                    return Pool[key];
//                }
//                else
//                {
//                    Pool.Add(key, tech);
//                    return tech;
//                }
//            }
//        }

//        /// <summary>
//        /// 清除pool
//        /// </summary>
//        public void Clear()
//        {
//            lock (Pool)
//            {
//                Pool.Clear();
//            }
//        }

//        /// <summary>
//        /// 移除pool中某個key的值
//        /// </summary>
//        /// <param name="key"></param>
//        public void Remove(string key)
//        {
//            lock (Pool)
//            {
//                Pool.Remove(key);
//            }
//        }

//        /// <summary>
//        /// 重新計算pool中所有指標的值
//        /// </summary>
//        /// <param name="ti"></param>
//        public void compute(Tick ti)
//        {
//            lock (Pool)
//            {
//                foreach (KeyValuePair<string, TechnicalIndicator> tech in Pool)
//                {
//                    tech.Value.comute(ti);
//                }
//            }
//        }

//    }
//}
